[INFO] cloning repository https://github.com/pexip/os-pydantic-core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pexip/os-pydantic-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpexip%2Fos-pydantic-core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpexip%2Fos-pydantic-core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] adee481b33cf09f925bdd30157ebc5c0a4c09e21
[INFO] fixing pexip/os-pydantic-core against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpexip%2Fos-pydantic-core" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-3-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/pexip/os-pydantic-core
[INFO] finished tweaking git repo https://github.com/pexip/os-pydantic-core
[INFO] tweaked toml for git repo https://github.com/pexip/os-pydantic-core written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/pexip/os-pydantic-core on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/pexip/os-pydantic-core already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b63896fb01ee887c25a6a814d354b6237df0feb0b808a0de69395497f1fe68bb
[INFO] running `Command { std: "docker" "start" "b63896fb01ee887c25a6a814d354b6237df0feb0b808a0de69395497f1fe68bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b63896fb01ee887c25a6a814d354b6237df0feb0b808a0de69395497f1fe68bb" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b63896fb01ee887c25a6a814d354b6237df0feb0b808a0de69395497f1fe68bb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "b63896fb01ee887c25a6a814d354b6237df0feb0b808a0de69395497f1fe68bb" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling python3-dll-a v0.2.14
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling syn v2.0.82
[INFO] [stderr]     Checking lexical-util v1.0.6
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]     Checking unindent v0.2.3
[INFO] [stderr]    Compiling pyo3-build-config v0.26.0
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking lexical-parse-integer v1.0.5
[INFO] [stderr]     Checking lexical-parse-float v1.0.5
[INFO] [stderr]    Compiling pyo3-macros-backend v0.26.0
[INFO] [stderr]    Compiling pyo3-ffi v0.26.0
[INFO] [stderr]    Compiling pyo3 v0.26.0
[INFO] [stderr]    Compiling jiter v0.11.1
[INFO] [stderr]    Compiling pydantic-core v2.41.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.4
[INFO] [stderr]    Compiling yoke-derive v0.7.4
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling enum_dispatch v0.3.13
[INFO] [stderr]     Checking zerofrom v0.1.4
[INFO] [stderr]     Checking yoke v0.7.4
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking speedate v0.17.0
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]    Compiling pyo3-macros v0.26.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/validators/literal.rs (2 fixes)
[INFO] [stderr]        Fixed src/serializers/type_serializers/function.rs (3 fixes)
[INFO] [stderr]        Fixed src/validators/typed_dict.rs (2 fixes)
[INFO] [stderr]        Fixed src/serializers/extra.rs (1 fix)
[INFO] [stderr]        Fixed src/validators/url.rs (3 fixes)
[INFO] [stderr]        Fixed src/validators/function.rs (4 fixes)
[INFO] [stderr]        Fixed src/validators/custom_error.rs (2 fixes)
[INFO] [stderr]        Fixed src/errors/validation_exception.rs (1 fix)
[INFO] [stderr]        Fixed src/serializers/infer.rs (1 fix)
[INFO] [stderr]        Fixed src/serializers/type_serializers/union.rs (1 fix)
[INFO] [stderr]        Fixed src/serializers/config.rs (2 fixes)
[INFO] [stderr]        Fixed src/validators/with_default.rs (2 fixes)
[INFO] [stderr]        Fixed src/serializers/ser.rs (1 fix)
[INFO] [stderr]        Fixed src/lookup_key.rs (2 fixes)
[INFO] [stderr]        Fixed src/input/input_python.rs (10 fixes)
[INFO] [stderr]        Fixed src/errors/location.rs (1 fix)
[INFO] [stderr]        Fixed src/validators/call.rs (2 fixes)
[INFO] [stderr]        Fixed src/serializers/computed_fields.rs (1 fix)
[INFO] [stderr]        Fixed src/serializers/type_serializers/tuple.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/errors/validation_exception.rs:77:23
[INFO] [stdout]      |
[INFO] [stdout]   62 |                 let line_errors = match outer_location {
[INFO] [stdout]      |                     -----------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `line_errors` calls a custom destructor
[INFO] [stdout]      |                     `line_errors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   77 |                 match Bound::new(py, validation_error) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   89 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `line_errors` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/serializers/fields.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/errors/validation_exception.rs:550:32
[INFO] [stdout]      |
[INFO] [stdout]  546 |             let input_str = safe_repr(input_value);
[INFO] [stdout]      |                 ---------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `input_str` calls a custom destructor
[INFO] [stdout]      |                 `input_str` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  550 |             if let Ok(type_) = input_value.get_type().qualname() {
[INFO] [stdout]      |                                ----------------------^^^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  553 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `input_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/validators/generator.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/input/input_python.rs:724:15
[INFO] [stdout]      |
[INFO] [stdout]  712 |     let Some(module_name) = obj
[INFO] [stdout]      |              -----------
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `module_name` calls a custom destructor
[INFO] [stdout]      |              `module_name` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  724 |     !matches!(module_name.to_str(), Ok("builtins" | "datetime" | "collections"))
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  725 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `module_name` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/serializers/filter.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/input/return_enums.rs:140:15
[INFO] [stdout]      |
[INFO] [stdout]  139 |         let item = item_result.map_err(|e| any_next_error!(py, e, max_length_check.input, index))?;
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `item` calls a custom destructor
[INFO] [stdout]      |             `item` will be dropped later as of Edition 2024
[INFO] [stdout]  140 |         match validator.validate(py, item.borrow_input(), state) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  157 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/validators/enum_.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lookup_key.rs:259:39
[INFO] [stdout]      |
[INFO] [stdout]  253 |                     let Some(mut value) = lookup(source, &path.first_item)? else {
[INFO] [stdout]      |                                           ---------------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  259 |                         value = match nested_lookup(value, loc) {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  265 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/validators/arguments.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lookup_key.rs:447:15
[INFO] [stdout]      |
[INFO] [stdout]  436 |         let obj = match obj.downcast_into::<PyString>() {
[INFO] [stdout]      |             ---
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `obj` calls a custom destructor
[INFO] [stdout]      |             `obj` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  447 |         match obj.extract::<usize>() { Ok(usize_key) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  454 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `obj` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/validators/dataclass.rs (1 fix)
[INFO] [stderr]        Fixed src/validators/list.rs (3 fixes)
[INFO] [stderr]        Fixed src/validators/arguments_v3.rs (3 fixes)
[INFO] [stderr]        Fixed src/tools.rs (7 fixes)
[INFO] [stderr]        Fixed src/serializers/type_serializers/simple.rs (2 fixes)
[INFO] [stderr]        Fixed src/errors/types.rs (1 fix)
[INFO] [stderr]        Fixed src/input/return_enums.rs (2 fixes)
[INFO] [stderr]        Fixed src/validators/tuple.rs (1 fix)
[INFO] [stderr]        Fixed src/build_tools.rs (6 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/fields.rs:196:57
[INFO] [stdout]      |
[INFO] [stdout]  184 |             let (key, value) = result?;
[INFO] [stdout]      |                  ---  -----
[INFO] [stdout]      |                  |    |
[INFO] [stdout]      |                  |    `value` calls a custom destructor
[INFO] [stdout]      |                  |    `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  `key` calls a custom destructor
[INFO] [stdout]      |                  `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  195 |             let state = &mut state.scoped_set(|s| &mut s.field_name, Some(field_name));
[INFO] [stdout]      |                              ---------------------------------------------------------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  196 |             if let Some((next_include, next_exclude)) = self.filter.key_filter(&key, state)? {
[INFO] [stdout]      |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/fields.rs:410:61
[INFO] [stdout]      |
[INFO] [stdout]  403 |             for (key, value) in extra_dict {
[INFO] [stdout]      |                  ---  -----     ----------
[INFO] [stdout]      |                  |    |         |
[INFO] [stdout]      |                  |    |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  |    |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  |    `value` calls a custom destructor
[INFO] [stdout]      |                  |    `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  `key` calls a custom destructor
[INFO] [stdout]      |                  `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  410 |                 if let Some((next_include, next_exclude)) = self.filter.key_filter(&key, state)? {
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                             |
[INFO] [stdout]      |                                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  411 |                     let state = &mut state.scoped_include_exclude(next_include, next_exclude);
[INFO] [stdout]      |                                      --------------------------------------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  412 |                     let value = match &self.extra_serializer {
[INFO] [stdout]  413 |                         Some(serializer) => serializer.to_python(&value, state)?,
[INFO] [stdout]      |                                             ------------------------------------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  414 |                         _ => infer_to_python(&value, state)?,
[INFO] [stdout]      |                              -------------------------------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  415 |                     };
[INFO] [stdout]  416 |                     output_dict.set_item(key, value)?;
[INFO] [stdout]      |                     ---------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  417 |                 }
[INFO] [stdout]  418 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/filter.rs:372:19
[INFO] [stdout]      |
[INFO] [stdout]  371 |         for (all_key, all_value) in all_dict.iter() {
[INFO] [stdout]      |              -------  ---------     ---------------
[INFO] [stdout]      |              |        |             |
[INFO] [stdout]      |              |        |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              |        |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |              |        `all_value` calls a custom destructor
[INFO] [stdout]      |              |        `all_value` will be dropped later as of Edition 2024
[INFO] [stdout]      |              `all_key` calls a custom destructor
[INFO] [stdout]      |              `all_key` will be dropped later as of Edition 2024
[INFO] [stdout]  372 |             match item_dict.get_item(&all_key)? { Some(item_value) => {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        ----------
[INFO] [stdout]      |                   |                                    |
[INFO] [stdout]      |                   |                                    `item_value` calls a custom destructor
[INFO] [stdout]      |                   |                                    `item_value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  376 |                 let item_value_dict = as_dict(&item_value)?;
[INFO] [stdout]      |                     ---------------   ---------------------
[INFO] [stdout]      |                     |                 |
[INFO] [stdout]      |                     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     `item_value_dict` calls a custom destructor
[INFO] [stdout]      |                     `item_value_dict` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  379 |                     item_dict.set_item(all_key, merge_dicts(&item_value_dict, &all_value)?)?;
[INFO] [stdout]      |                     ------------------------------------------------------------------------
[INFO] [stdout]      |                     |                  |        |
[INFO] [stdout]      |                     |                  |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                     |                  |        `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     |                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                     |                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  382 |                 item_dict.set_item(all_key, all_value)?;
[INFO] [stdout]      |                 ---------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  383 |             }}
[INFO] [stdout]  384 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `all_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `all_value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `item_value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `item_value_dict` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/format.rs:33:15
[INFO] [stdout]      |
[INFO] [stdout]   32 |         let when_used = schema.get_as::<Bound<'_, PyString>>(intern!(schema.py(), "when_used"))?;
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `when_used` calls a custom destructor
[INFO] [stdout]      |             `when_used` will be dropped later as of Edition 2024
[INFO] [stdout]   33 |         match when_used.as_ref().map(|s| s.to_str()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   41 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `when_used` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/function.rs:240:23
[INFO] [stdout]      |
[INFO] [stdout]  239 |                 let state = &mut state.scoped_include_exclude(None, None);
[INFO] [stdout]      |                                  ----------------------------------------
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  240 |                 match self.call(key, state) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  254 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  293 | function_type_serializer!(FunctionPlainSerializer);
[INFO] [stdout]      | -------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `function_type_serializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/function.rs:240:23
[INFO] [stdout]      |
[INFO] [stdout]  239 |                 let state = &mut state.scoped_include_exclude(None, None);
[INFO] [stdout]      |                                  ----------------------------------------
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  240 |                 match self.call(key, state) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  254 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  431 | function_type_serializer!(FunctionWrapSerializer);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `function_type_serializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/tuple.rs:233:37
[INFO] [stdout]      |
[INFO] [stdout]  232 |                       let state = &mut state.scoped_include_exclude(next_include, next_exclude);
[INFO] [stdout]      |                                        --------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  233 |                       if let Err(e) = f(TupleSerializerEntry {
[INFO] [stdout]      |  _____________________________________^
[INFO] [stdout]  234 | |                         item: element,
[INFO] [stdout]  235 | |                         serializer: &CombinedSerializer::Any(AnySerializer),
[INFO] [stdout]      | |                                      --------------------------------------
[INFO] [stdout]      | |                                      |
[INFO] [stdout]      | |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  236 | |                         state,
[INFO] [stdout]  237 | |                     }) {
[INFO] [stdout]      | |                      ^
[INFO] [stdout]      | |                      |
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  240 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/union.rs:329:44
[INFO] [stdout]      |
[INFO] [stdout]  328 |                             let state = &mut state.scoped_set(|s| &mut s.check, SerCheck::Lax);
[INFO] [stdout]      |                                              -------------------------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  329 |                             if let Ok(v) = selector(selected_serializer, state) {
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  332 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:163:39
[INFO] [stdout]      |
[INFO] [stdout]   75 |         let arguments_schema: Bound<'_, PyList> = schema.get_as_req(intern!(py, "arguments_schema"))?;
[INFO] [stdout]      |             ----------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `arguments_schema` calls a custom destructor
[INFO] [stdout]      |             `arguments_schema` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  144 |         let py_var_kwargs_mode: Bound<PyString> = schema
[INFO] [stdout]      |             ------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `py_var_kwargs_mode` calls a custom destructor
[INFO] [stdout]      |             `py_var_kwargs_mode` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  149 |         let var_kwargs_validator = match schema.get_item(intern!(py, "var_kwargs_schema"))? {
[INFO] [stdout]      |             --------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `var_kwargs_validator` calls a custom destructor
[INFO] [stdout]      |             `var_kwargs_validator` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  163 |             var_args_validator: match schema.get_item(intern!(py, "var_args_schema"))? {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  175 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `arguments_schema` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `py_var_kwargs_mode` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `var_kwargs_validator` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:226:57
[INFO] [stdout]      |
[INFO] [stdout]  208 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  214 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  218 | /                     parameter
[INFO] [stdout]  219 | |                         .lookup_key_collection
[INFO] [stdout]  220 | |                         .select(validate_by_alias, validate_by_name)?,
[INFO] [stdout]      | |                                                                     -
[INFO] [stdout]      | |                                                                     |
[INFO] [stdout]      | |_____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  226 |                       if let Some((lookup_path, value)) = kwargs.get_item(lookup_key)? {
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                                           up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  230 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]      |                        -----------------------------------------------------------------------------------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  237 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  244 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  251 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  252 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]  253 |                           Ok(value) => output_kwargs.set_item(parameter.kwarg_key.as_ref().unwrap(), value)?,
[INFO] [stdout]      |                                        ---------------------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  270 |                               output_kwargs.set_item(kwarg_key, value)?;
[INFO] [stdout]      |                               -----------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:252:27
[INFO] [stdout]      |
[INFO] [stdout]  208 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  214 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  218 | /                     parameter
[INFO] [stdout]  219 | |                         .lookup_key_collection
[INFO] [stdout]  220 | |                         .select(validate_by_alias, validate_by_name)?,
[INFO] [stdout]      | |                                                                     -
[INFO] [stdout]      | |                                                                     |
[INFO] [stdout]      | |_____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]      |                        -----------------------------------------------------------------------------------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  237 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  244 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  251 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  252 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                             up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  253 |                           Ok(value) => output_kwargs.set_item(parameter.kwarg_key.as_ref().unwrap(), value)?,
[INFO] [stdout]      |                                        ---------------------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  263 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  270 |                               output_kwargs.set_item(kwarg_key, value)?;
[INFO] [stdout]      |                               -----------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:265:27
[INFO] [stdout]      |
[INFO] [stdout]  208 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  214 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  218 | /                     parameter
[INFO] [stdout]  219 | |                         .lookup_key_collection
[INFO] [stdout]  220 | |                         .select(validate_by_alias, validate_by_name)?,
[INFO] [stdout]      | |                                                                     -
[INFO] [stdout]      | |                                                                     |
[INFO] [stdout]      | |_____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]      |                        -----------------------------------------------------------------------------------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  237 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  244 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  251 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  252 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]  253 |                           Ok(value) => output_kwargs.set_item(parameter.kwarg_key.as_ref().unwrap(), value)?,
[INFO] [stdout]      |                                        ---------------------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  265 |                       match parameter
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]  266 | |                         .validator
[INFO] [stdout]  267 | |                         .default_value(py, Some(parameter.name.as_str()), state)?
[INFO] [stdout]      | |                                                                                 ^
[INFO] [stdout]      | |_________________________________________________________________________________|
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |_________________________________________________________________________________up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                                                                   up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  270 | |                             output_kwargs.set_item(kwarg_key, value)?;
[INFO] [stdout]      | |                             -----------------------------------------
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  288 | |                 }
[INFO] [stdout]      | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/validators/arguments.rs:236:19
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]     |                      -----------------------------------------------------------------------------------------------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 235 |
[INFO] [stdout] 236 |             match (pos_value, kw_value) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/validators/validation_state.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:297:31
[INFO] [stdout]      |
[INFO] [stdout]  296 |                     for (index, item) in args.iter().enumerate().skip(self.positional_params_count) {
[INFO] [stdout]      |                                 ----     ----------------------------------------------------------
[INFO] [stdout]      |                                 |        |
[INFO] [stdout]      |                                 |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 `item` calls a custom destructor
[INFO] [stdout]      |                                 `item` will be dropped later as of Edition 2024
[INFO] [stdout]  297 |                         match validator.validate(py, item.borrow_input(), state) {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  304 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:270:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  270 |                           match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                                 up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  281 |                       }
[INFO] [stdout]      |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:316:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  316 | |                         match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                               |
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                               up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  317 | |                             Ok(value) => {
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  329 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:350:39
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  350 | |                                 match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      | |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                       up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  363 | |                             }
[INFO] [stdout]      | |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:371:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  371 | |                         match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                               |
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                               up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  384 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:391:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  391 |                           match parameter
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]  392 | |                                 .validator
[INFO] [stdout]  393 | |                                 .default_value(py, Some(parameter.name.as_str()), state)?
[INFO] [stdout]      | |                                                                                         ^
[INFO] [stdout]      | |_________________________________________________________________________________________|
[INFO] [stdout]      | |_________________________________________________________________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |_________________________________________________________________________________________up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________________________________________________________________________________________this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                                                                                           up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  418 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:421:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  421 | |                         match parameter.validator.validate(py, PyDict::new(py).borrow_input(), state) {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                               |                                |
[INFO] [stdout]      | |                               |                                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                               |                                up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                               up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  434 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:261:19
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                      ----------
[INFO] [stdout]      |                     |                                                  |
[INFO] [stdout]      |                     |                                                  `dict_value` calls a custom destructor
[INFO] [stdout]      |                     |                                                  `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                     up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                     up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  439 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:553:57
[INFO] [stdout]      |
[INFO] [stdout]  533 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  534 | |                 .lookup_key_collection
[INFO] [stdout]  535 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  536 |
[INFO] [stdout]  537 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  547 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  553 |                       if let Some((lookup_path, value)) = kwargs.get_item(lookup_key)? {
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                                           up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  557 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  561 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  568 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  575 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  578 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  598 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:576:27
[INFO] [stdout]      |
[INFO] [stdout]  533 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  534 | |                 .lookup_key_collection
[INFO] [stdout]  535 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  536 |
[INFO] [stdout]  537 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  547 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  561 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  568 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  575 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  576 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                             up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  577 |                           Ok(value) => {
[INFO] [stdout]  578 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  589 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  598 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:591:27
[INFO] [stdout]      |
[INFO] [stdout]  533 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  534 | |                 .lookup_key_collection
[INFO] [stdout]  535 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  536 |
[INFO] [stdout]  537 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  547 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  561 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  568 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  575 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  578 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  591 |                       match parameter
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]  592 | |                         .validator
[INFO] [stdout]  593 | |                         .default_value(py, Some(parameter.name.as_str()), state)?
[INFO] [stdout]      | |                                                                                 ^
[INFO] [stdout]      | |_________________________________________________________________________________|
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |_________________________________________________________________________________up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  598 | |                             output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                             -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                             `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  629 | |                 }
[INFO] [stdout]      | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:639:31
[INFO] [stdout]      |
[INFO] [stdout]  638 |                     for (index, item) in args.iter().enumerate().skip(self.positional_params_count) {
[INFO] [stdout]      |                                 ----     ----------------------------------------------------------
[INFO] [stdout]      |                                 |        |
[INFO] [stdout]      |                                 |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 `item` calls a custom destructor
[INFO] [stdout]      |                                 `item` will be dropped later as of Edition 2024
[INFO] [stdout]  639 |                         match var_args_param.validator.validate(py, item.borrow_input(), state) {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  646 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:704:47
[INFO] [stdout]      |
[INFO] [stdout]  664 |                   for result in kwargs.iter() {
[INFO] [stdout]      |                                 -------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  665 |                       let (raw_key, value) = result?;
[INFO] [stdout]      |                            -------  -----    -------
[INFO] [stdout]      |                            |        |        |
[INFO] [stdout]      |                            |        |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                            |        |        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            |        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            |        |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            |        `value` calls a custom destructor
[INFO] [stdout]      |                            |        `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            `raw_key` calls a custom destructor
[INFO] [stdout]      |                            `raw_key` will be dropped later as of Edition 2024
[INFO] [stdout]  666 |                       let either_str = match raw_key
[INFO] [stdout]      |  _________________________----------_________-
[INFO] [stdout]      | |                         |
[INFO] [stdout]      | |                         `either_str` calls a custom destructor
[INFO] [stdout]      | |                         `either_str` will be dropped later as of Edition 2024
[INFO] [stdout]  667 | |                         .borrow_input()
[INFO] [stdout]  668 | |                         .validate_str(true, false)
[INFO] [stdout]  669 | |                         .map(ValidationMatch::into_inner)
[INFO] [stdout]      | |                                                         -
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |_________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  673 |                               for err in line_errors {
[INFO] [stdout]      |                                          -----------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `iter` calls a custom destructor
[INFO] [stdout]      |                                          `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  683 |                       if !used_kwargs.contains(either_str.as_cow()?.as_ref()) {
[INFO] [stdout]      |                                                --------------------
[INFO] [stdout]      |                                                |
[INFO] [stdout]      |                                                this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  704 |                                           match var_kwargs_parameter.validator.validate(py, value.borrow_input(), state) {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                                 up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  705 |                                               Ok(value) => {
[INFO] [stdout]  706 | /                                                 output_kwargs
[INFO] [stdout]  707 | |                                                     .set_item(either_str.as_py_string(py, state.cache_str()), value)?;
[INFO] [stdout]      | |                                                                                                                     -
[INFO] [stdout]      | |_____________________________________________________________________________________________________________________|
[INFO] [stdout]      | |_____________________________________________________________________________________________________________________this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                                                                                       `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  710 | |                                                 for err in line_errors {
[INFO] [stdout]      | |                                                            -----------
[INFO] [stdout]      | |                                                            |
[INFO] [stdout]      | |                                                            this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                                            `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                            this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                            `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  716 | |                                     }
[INFO] [stdout]      | |                                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  719 | /                                         remaining_kwargs.set_item(
[INFO] [stdout]  720 | |                                             either_str.as_py_string(py, state.cache_str()),
[INFO] [stdout]  721 | |                                             value.borrow_input().to_object(py)?,
[INFO] [stdout]      | |                                             -----------------------------------
[INFO] [stdout]      | |                                             |
[INFO] [stdout]      | |                                             this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                             `#11` will be dropped later as of Edition 2024
[INFO] [stdout]  722 | |                                         )?;
[INFO] [stdout]      | |                                          -
[INFO] [stdout]      | |__________________________________________|
[INFO] [stdout]      | |__________________________________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                            `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `either_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/dataclass.rs:215:53
[INFO] [stdout]      |
[INFO] [stdout]  177 |                       output_dict.set_item(name_py, $value)?;
[INFO] [stdout]      |                       --------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                       `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                       `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  185 |                   match field.validator.default_value(py, Some(field.name.as_str()), state) {
[INFO] [stdout]      |                         -------------------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  186 |                       Ok(Some(value)) => {
[INFO] [stdout]      |                               -----
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `value` calls a custom destructor
[INFO] [stdout]      |                               `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  202 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  209 |               let lookup_key = field
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  210 | |                 .lookup_key_collection
[INFO] [stdout]  211 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  212 |
[INFO] [stdout]  213 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout]  214 |               if let Some(kwargs) = args.kwargs() {
[INFO] [stdout]  215 |                   if let Some((lookup_path, value)) = kwargs.get_item(lookup_key)? {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                                                       up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                                                       up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  219 |               }
[INFO] [stdout]      |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  222 |               let state = &mut state.rebind_extra(|extra| extra.field_name = Some(field.name_py.bind(py).clone()));
[INFO] [stdout]      |                                -----------------------------------------------------------------------------------
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   (Some(pos_value), None) => match field.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |                       Ok(value) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                          `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  246 |                   (None, Some((lookup_path, kw_value))) => match field.validator.validate(py, kw_value, state) {
[INFO] [stdout]      |                                                                  ---------------------------------------------
[INFO] [stdout]      |                                                                  |
[INFO] [stdout]      |                                                                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout]  247 |                       Ok(value) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  264 |                           Ok(Some(value)) => {
[INFO] [stdout]      |                                   -----
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                   `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  280 |                               for err in line_errors {
[INFO] [stdout]      |                                          -----------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `iter` calls a custom destructor
[INFO] [stdout]      |                                          `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                          `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/dataclass.rs:263:27
[INFO] [stdout]      |
[INFO] [stdout]  177 |                       output_dict.set_item(name_py, $value)?;
[INFO] [stdout]      |                       --------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                       `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                       `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  185 |                   match field.validator.default_value(py, Some(field.name.as_str()), state) {
[INFO] [stdout]      |                         -------------------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  186 |                       Ok(Some(value)) => {
[INFO] [stdout]      |                               -----
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               `value` calls a custom destructor
[INFO] [stdout]      |                               `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  202 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  209 |               let lookup_key = field
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  210 | |                 .lookup_key_collection
[INFO] [stdout]  211 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  212 |
[INFO] [stdout]  213 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  222 |               let state = &mut state.rebind_extra(|extra| extra.field_name = Some(field.name_py.bind(py).clone()));
[INFO] [stdout]      |                                -----------------------------------------------------------------------------------
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   (Some(pos_value), None) => match field.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                         |                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  235 |                       Ok(value) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                          `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  246 |                   (None, Some((lookup_path, kw_value))) => match field.validator.validate(py, kw_value, state) {
[INFO] [stdout]      |                                                                  ---------------------------------------------
[INFO] [stdout]      |                                                                  |
[INFO] [stdout]      |                                                                  this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                  `#9` will be dropped later as of Edition 2024
[INFO] [stdout]  247 |                       Ok(value) => {
[INFO] [stdout]      |                          -----
[INFO] [stdout]      |                          |
[INFO] [stdout]      |                          this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                          `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  263 |                       match field.validator.default_value(py, Some(field.name.as_str()), state) {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                             up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  264 |                           Ok(Some(value)) => {
[INFO] [stdout]      |                                   -----
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                   `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  280 |                               for err in line_errors {
[INFO] [stdout]      |                                          -----------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          `iter` calls a custom destructor
[INFO] [stdout]      |                                          `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                          `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  290 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/validators/dataclass.rs:224:19
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let mut kw_value = None;
[INFO] [stdout]     |                 ------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `kw_value` calls a custom destructor
[INFO] [stdout]     |                 `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 222 |             let state = &mut state.rebind_extra(|extra| extra.field_name = Some(field.name_py.bind(py).clone()));
[INFO] [stdout]     |                              -----------------------------------------------------------------------------------
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 223 |
[INFO] [stdout] 224 |             match (pos_value, kw_value) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 292 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/validators/validation_state.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/dataclass.rs:330:51
[INFO] [stdout]      |
[INFO] [stdout]  309 |                   for result in kwargs.iter() {
[INFO] [stdout]      |                                 -------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                       let (raw_key, value) = result?;
[INFO] [stdout]      |                            -------  -----    -------
[INFO] [stdout]      |                            |        |        |
[INFO] [stdout]      |                            |        |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                            |        |        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            |        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            |        |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            |        `value` calls a custom destructor
[INFO] [stdout]      |                            |        `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                            `raw_key` calls a custom destructor
[INFO] [stdout]      |                            `raw_key` will be dropped later as of Edition 2024
[INFO] [stdout]  311 |                       match raw_key
[INFO] [stdout]      |  ___________________________-
[INFO] [stdout]  312 | |                         .borrow_input()
[INFO] [stdout]  313 | |                         .validate_str(true, false)
[INFO] [stdout]  314 | |                         .map(ValidationMatch::into_inner)
[INFO] [stdout]      | |                                                         -
[INFO] [stdout]      | |                                                         |
[INFO] [stdout]      | |_________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  315 |                       {
[INFO] [stdout]  316 |                           Ok(either_str) => {
[INFO] [stdout]      |                              ----------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `either_str` calls a custom destructor
[INFO] [stdout]      |                              `either_str` will be dropped later as of Edition 2024
[INFO] [stdout]  317 |                               if !used_keys.contains(either_str.as_cow()?.as_ref()) {
[INFO] [stdout]      |                                                      --------------------
[INFO] [stdout]      |                                                      |
[INFO] [stdout]      |                                                      this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                                      `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  330 |                                               match validator.validate(py, value.borrow_input(), state) {
[INFO] [stdout]      |                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                     |
[INFO] [stdout]      |                                                     this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                                     up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  331 |                                                   Ok(value) => {
[INFO] [stdout]  332 | /                                                     output_dict.set_item(
[INFO] [stdout]  333 | |                                                         either_str.as_py_string(py, state.cache_str()),
[INFO] [stdout]  334 | |                                                         value,
[INFO] [stdout]  335 | |                                                     )?;
[INFO] [stdout]      | |                                                      -
[INFO] [stdout]      | |______________________________________________________|
[INFO] [stdout]      | |______________________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                        `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  338 | |                                                     for err in line_errors {
[INFO] [stdout]      | |                                                                -----------
[INFO] [stdout]      | |                                                                |
[INFO] [stdout]      | |                                                                `iter` calls a custom destructor
[INFO] [stdout]      | |                                                                `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                                this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                                                `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  344 | |                                         } else {
[INFO] [stdout]      | |                                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  345 | /                                             output_dict.set_item(
[INFO] [stdout]  346 | |                                                 either_str.as_py_string(py, state.cache_str()),
[INFO] [stdout]  347 | |                                                 value.borrow_input().to_object(py)?,
[INFO] [stdout]      | |                                                 -----------------------------------
[INFO] [stdout]      | |                                                 |
[INFO] [stdout]      | |                                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout]  348 | |                                             )?;
[INFO] [stdout]      | |                                              -
[INFO] [stdout]      | |______________________________________________|
[INFO] [stdout]      | |______________________________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                                `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  355 | |                             for err in line_errors {
[INFO] [stdout]      | |                                        -----------
[INFO] [stdout]      | |                                        |
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                        `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                        this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                        `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `either_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/dataclass.rs:423:19
[INFO] [stdout]      |
[INFO] [stdout]  410 |               let data_dict = dict.copy()?;
[INFO] [stdout]      |                   ---------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `data_dict` calls a custom destructor
[INFO] [stdout]      |                   `data_dict` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  418 |               let state = &mut state.rebind_extra(|extra| {
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  419 | |                 extra.data = Some(data_dict.clone());
[INFO] [stdout]  420 | |                 extra.field_name = Some(field.name_py.bind(py).clone());
[INFO] [stdout]  421 | |             });
[INFO] [stdout]      | |              -
[INFO] [stdout]      | |              |
[INFO] [stdout]      | |______________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  422 |
[INFO] [stdout]  423 |               match field.validator.validate(py, field_value, state) {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  434 |           } else {
[INFO] [stdout]      |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `data_dict` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/literal.rs:70:23
[INFO] [stdout]      |
[INFO] [stdout]   57 |           for (k, v) in expected {
[INFO] [stdout]      |                -        --------
[INFO] [stdout]      |                |        |
[INFO] [stdout]      |                |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                `k` calls a custom destructor
[INFO] [stdout]      |                `k` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   61 |               if let Ok(bool_value) = k.validate_bool(true) {
[INFO] [stdout]      |                                       ---------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   67 |                   expected_py_primitives.set_item(&k, id)?;
[INFO] [stdout]      |                   ----------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   70 |                   match k.extract::<i64>() { Ok(int_64) => {
[INFO] [stdout]      |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                         up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   71 |                       expected_int.insert(int_64, id);
[INFO] [stdout]   72 |                       expected_py_primitives.set_item(&k, id)?;
[INFO] [stdout]      |                       ----------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   75 |                       expected_py_dict.set_item(k, id)?;
[INFO] [stdout]      |                       ---------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]   76 |                   }}
[INFO] [stdout]   77 |               } else { match k.exact_str() { Ok(either_str) => {
[INFO] [stdout]      |               -                                 ----------
[INFO] [stdout]      |               |                                 |
[INFO] [stdout]      |               |                                 `either_str` calls a custom destructor
[INFO] [stdout]      |               |                                 `either_str` will be dropped later as of Edition 2024
[INFO] [stdout]      |               now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]   78 |                   let str = either_str
[INFO] [stdout]      |  ___________________________-
[INFO] [stdout]   79 | |                     .as_cow()
[INFO] [stdout]   80 | |                     .map_err(|_| py_schema_error_type!("error extracting str {:?}", k))?;
[INFO] [stdout]      | |                                                                                        -
[INFO] [stdout]      | |                                                                                        |
[INFO] [stdout]      | |________________________________________________________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]   81 |                   expected_str.insert(str.to_string(), id);
[INFO] [stdout]   82 |                   expected_py_primitives.set_item(&k, id)?;
[INFO] [stdout]      |                   ----------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]   83 |               } _ => if expected_py_dict.set_item(&k, id).is_err() {
[INFO] [stdout]      |                         ---------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `either_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/literal.rs:77:28
[INFO] [stdout]      |
[INFO] [stdout]   57 |           for (k, v) in expected {
[INFO] [stdout]      |                -        --------
[INFO] [stdout]      |                |        |
[INFO] [stdout]      |                |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                `k` calls a custom destructor
[INFO] [stdout]      |                `k` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   61 |               if let Ok(bool_value) = k.validate_bool(true) {
[INFO] [stdout]      |                                       ---------------------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   67 |                   expected_py_primitives.set_item(&k, id)?;
[INFO] [stdout]      |                   ----------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                   `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   72 |                       expected_py_primitives.set_item(&k, id)?;
[INFO] [stdout]      |                       ----------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   75 |                       expected_py_dict.set_item(k, id)?;
[INFO] [stdout]      |                       ---------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                       `#5` will be dropped later as of Edition 2024
[INFO] [stdout]   76 |                   }}
[INFO] [stdout]   77 |               } else { match k.exact_str() { Ok(either_str) => {
[INFO] [stdout]      |                              ^^^^^^^^^^^^^      ----------
[INFO] [stdout]      |                              |                  |
[INFO] [stdout]      |                              |                  `either_str` calls a custom destructor
[INFO] [stdout]      |                              |                  `either_str` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                              up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]   78 |                   let str = either_str
[INFO] [stdout]      |  ___________________________-
[INFO] [stdout]   79 | |                     .as_cow()
[INFO] [stdout]   80 | |                     .map_err(|_| py_schema_error_type!("error extracting str {:?}", k))?;
[INFO] [stdout]      | |                                                                                        -
[INFO] [stdout]      | |                                                                                        |
[INFO] [stdout]      | |________________________________________________________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                                                          `#6` will be dropped later as of Edition 2024
[INFO] [stdout]   81 |                   expected_str.insert(str.to_string(), id);
[INFO] [stdout]   82 |                   expected_py_primitives.set_item(&k, id)?;
[INFO] [stdout]      |                   ----------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                   `#7` will be dropped later as of Edition 2024
[INFO] [stdout]   83 |               } _ => if expected_py_dict.set_item(&k, id).is_err() {
[INFO] [stdout]      |                         ---------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout]   84 |                   expected_py_values.push((k.as_unbound().clone_ref(py), id));
[INFO] [stdout]   85 |               }}}
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `k` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `either_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/model_fields.rs:230:23
[INFO] [stdout]      |
[INFO] [stdout]  188 |                 let op_key_value = match dict.get_item(lookup_key) {
[INFO] [stdout]      |                     ------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `op_key_value` calls a custom destructor
[INFO] [stdout]      |                     `op_key_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  199 |                 let state = &mut state.rebind_extra(|extra| extra.field_name = Some(field.name_py.bind(py).clone()));
[INFO] [stdout]      |                                  -----------------------------------------------------------------------------------
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  230 |                 match field.validator.default_value(py, Some(field.name.as_str()), state) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  257 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/model_fields.rs:321:47
[INFO] [stdout]      |
[INFO] [stdout]  283 |                       for item_result in iterator {
[INFO] [stdout]      |                                          --------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  284 |                           let (raw_key, value) = item_result?;
[INFO] [stdout]      |                                -------  -----    ------------
[INFO] [stdout]      |                                |        |        |
[INFO] [stdout]      |                                |        |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |        |        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                |        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                |        |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                |        `value` calls a custom destructor
[INFO] [stdout]      |                                |        `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                `raw_key` calls a custom destructor
[INFO] [stdout]      |                                `raw_key` will be dropped later as of Edition 2024
[INFO] [stdout]  285 |                           let either_str = match raw_key
[INFO] [stdout]      |  _____________________________----------_________-
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             `either_str` calls a custom destructor
[INFO] [stdout]      | |                             `either_str` will be dropped later as of Edition 2024
[INFO] [stdout]  286 | |                             .borrow_input()
[INFO] [stdout]  287 | |                             .validate_str(true, false)
[INFO] [stdout]  288 | |                             .map(ValidationMatch::into_inner)
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |                                   for err in line_errors {
[INFO] [stdout]      |                                              -----------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              `iter` calls a custom destructor
[INFO] [stdout]      |                                              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  302 |                           let cow = either_str.as_cow()?;
[INFO] [stdout]      |                                     --------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  319 |                                   let py_key = match self.extras_keys_validator {
[INFO] [stdout]      |                                       ------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       `py_key` calls a custom destructor
[INFO] [stdout]      |                                       `py_key` will be dropped later as of Edition 2024
[INFO] [stdout]  320 |                                       Some(validator) => {
[INFO] [stdout]  321 |                                           match validator.validate(self.py, raw_key.borrow_input(), self.state) {
[INFO] [stdout]      |                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                 |
[INFO] [stdout]      |                                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                                                 up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  322 |                                               Ok(value) => value.downcast_bound::<PyString>(self.py)?.clone(),
[INFO] [stdout]      |                                                  -----
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                  `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  323 |                                               Err(ValError::LineErrors(line_errors)) => {
[INFO] [stdout]  324 |                                                   for err in line_errors {
[INFO] [stdout]      |                                                              -----------
[INFO] [stdout]      |                                                              |
[INFO] [stdout]      |                                                              this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                                              `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                              `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  331 |                                       }
[INFO] [stdout]      |                                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  338 |                                               model_extra_dict.set_item(&py_key, value)?;
[INFO] [stdout]      |                                               ------------------------------------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  342 |                                               for err in line_errors {
[INFO] [stdout]      |                                                          -----------
[INFO] [stdout]      |                                                          |
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                                                          `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                                          `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  349 |                                       model_extra_dict.set_item(&py_key, value.to_object(self.py)?)?;
[INFO] [stdout]      |                                       --------------------------------------------------------------
[INFO] [stdout]      |                                       |                                  |
[INFO] [stdout]      |                                       |                                  this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                       |                                  `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                       `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `either_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `py_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/model_fields.rs:336:43
[INFO] [stdout]      |
[INFO] [stdout]  283 |                       for item_result in iterator {
[INFO] [stdout]      |                                          --------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  284 |                           let (raw_key, value) = item_result?;
[INFO] [stdout]      |                                -------  -----    ------------
[INFO] [stdout]      |                                |        |        |
[INFO] [stdout]      |                                |        |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |        |        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                |        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                |        |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                |        `value` calls a custom destructor
[INFO] [stdout]      |                                |        `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                `raw_key` calls a custom destructor
[INFO] [stdout]      |                                `raw_key` will be dropped later as of Edition 2024
[INFO] [stdout]  285 |                           let either_str = match raw_key
[INFO] [stdout]      |  _____________________________----------_________-
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             `either_str` calls a custom destructor
[INFO] [stdout]      | |                             `either_str` will be dropped later as of Edition 2024
[INFO] [stdout]  286 | |                             .borrow_input()
[INFO] [stdout]  287 | |                             .validate_str(true, false)
[INFO] [stdout]  288 | |                             .map(ValidationMatch::into_inner)
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  292 |                                   for err in line_errors {
[INFO] [stdout]      |                                              -----------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              `iter` calls a custom destructor
[INFO] [stdout]      |                                              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  302 |                           let cow = either_str.as_cow()?;
[INFO] [stdout]      |                                     --------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  319 |                                   let py_key = match self.extras_keys_validator {
[INFO] [stdout]      |                                       ------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       `py_key` calls a custom destructor
[INFO] [stdout]      |                                       `py_key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  322 |                                               Ok(value) => value.downcast_bound::<PyString>(self.py)?.clone(),
[INFO] [stdout]      |                                                  -----
[INFO] [stdout]      |                                                  |
[INFO] [stdout]      |                                                  this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                  `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  323 |                                               Err(ValError::LineErrors(line_errors)) => {
[INFO] [stdout]  324 |                                                   for err in line_errors {
[INFO] [stdout]      |                                                              -----------
[INFO] [stdout]      |                                                              |
[INFO] [stdout]      |                                                              this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                                              `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                              `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  336 |                                       match validator.validate(self.py, value, self.state) {
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      |                                             up until Edition 2021 `#15` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  337 |                                           Ok(value) => {
[INFO] [stdout]  338 |                                               model_extra_dict.set_item(&py_key, value)?;
[INFO] [stdout]      |                                               ------------------------------------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  342 |                                               for err in line_errors {
[INFO] [stdout]      |                                                          -----------
[INFO] [stdout]      |                                                          |
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                                                          `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                          this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                                          `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  348 |                                   } else {
[INFO] [stdout]      |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  349 |                                       model_extra_dict.set_item(&py_key, value.to_object(self.py)?)?;
[INFO] [stdout]      |                                       --------------------------------------------------------------
[INFO] [stdout]      |                                       |                                  |
[INFO] [stdout]      |                                       |                                  this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                       |                                  `#14` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                                       `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `either_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `py_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#14` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/tuple.rs:91:27
[INFO] [stdout]      |
[INFO] [stdout]   80 |             match collection_iter.next() {
[INFO] [stdout]      |                   ----------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   `#1` will be dropped later as of Edition 2024
[INFO] [stdout]   81 |                 Some((index, input_item)) => match validator.validate(py, input_item.borrow_input(), state) {
[INFO] [stdout]      |                              ----------            --------------------------------------------------------
[INFO] [stdout]      |                              |                     |
[INFO] [stdout]      |                              |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                              |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                              `input_item` calls a custom destructor
[INFO] [stdout]      |                              `input_item` will be dropped later as of Edition 2024
[INFO] [stdout]   82 |                     Ok(item) => self.push_output_item(input, output, item, actual_length)?,
[INFO] [stdout]      |                                 ----------------------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   91 |                     match validator.default_value(py, Some(index), state)? { Some(value) => {
[INFO] [stdout]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                           |
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                           up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                           up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   96 |                 }
[INFO] [stdout]      |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/typed_dict.rs:255:23
[INFO] [stdout]      |
[INFO] [stdout]  196 |                 let op_key_value = match dict.get_item(lookup_key) {
[INFO] [stdout]      |                     ------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `op_key_value` calls a custom destructor
[INFO] [stdout]      |                     `op_key_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  255 |                 match field.validator.default_value(py, Some(field.name.as_str()), state) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  284 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/typed_dict.rs:352:43
[INFO] [stdout]      |
[INFO] [stdout]  309 |                       for item_result in iterator {
[INFO] [stdout]      |                                          --------
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                          `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  310 |                           let (raw_key, value) = item_result?;
[INFO] [stdout]      |                                -------  -----    ------------
[INFO] [stdout]      |                                |        |        |
[INFO] [stdout]      |                                |        |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                |        |        `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                |        |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                |        |        `#3` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                |        `value` calls a custom destructor
[INFO] [stdout]      |                                |        `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                `raw_key` calls a custom destructor
[INFO] [stdout]      |                                `raw_key` will be dropped later as of Edition 2024
[INFO] [stdout]  311 |                           let either_str = match raw_key
[INFO] [stdout]      |  _____________________________----------_________-
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             `either_str` calls a custom destructor
[INFO] [stdout]      | |                             `either_str` will be dropped later as of Edition 2024
[INFO] [stdout]  312 | |                             .borrow_input()
[INFO] [stdout]  313 | |                             .validate_str(true, false)
[INFO] [stdout]  314 | |                             .map(ValidationMatch::into_inner)
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                                               `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 |                                   for err in line_errors {
[INFO] [stdout]      |                                              -----------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              `iter` calls a custom destructor
[INFO] [stdout]      |                                              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  328 |                           let cow = either_str.as_cow()?;
[INFO] [stdout]      |                                     --------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                     `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  345 |                                   let py_key = either_str.as_py_string(self.py, self.state.cache_str());
[INFO] [stdout]      |                                       ------
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       `py_key` calls a custom destructor
[INFO] [stdout]      |                                       `py_key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  352 |                                       match validator.validate(self.py, value, self.state) {
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                             up until Edition 2021 `#12` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  353 |                                           Ok(value) => {
[INFO] [stdout]  354 |                                               self.output_dict.set_item(py_key, value)?;
[INFO] [stdout]      |                                               -----------------------------------------
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]  355 |                                           }
[INFO] [stdout]  356 |                                           Err(ValError::LineErrors(line_errors)) => {
[INFO] [stdout]      |                                                                    -----------
[INFO] [stdout]      |                                                                    |
[INFO] [stdout]      |                                                                    `line_errors` calls a custom destructor
[INFO] [stdout]      |                                                                    `line_errors` will be dropped later as of Edition 2024
[INFO] [stdout]  357 |                                               if !last_partial {
[INFO] [stdout]  358 |                                                   for err in line_errors {
[INFO] [stdout]      |                                                              -----------
[INFO] [stdout]      |                                                              |
[INFO] [stdout]      |                                                              this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                                              `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                                              this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                              `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  365 |                                   } else {
[INFO] [stdout]      |                                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  366 |                                       self.output_dict.set_item(py_key, value.to_object(self.py)?)?;
[INFO] [stdout]      |                                       -------------------------------------------------------------
[INFO] [stdout]      |                                       |                                 |
[INFO] [stdout]      |                                       |                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                                       |                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                       `#10` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `either_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `py_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/union.rs:363:47
[INFO] [stdout]      |
[INFO] [stdout]  357 |                 let dict = input.validate_model_fields(state.strict_or(false), from_attributes)?;
[INFO] [stdout]      |                     ----
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `dict` calls a custom destructor
[INFO] [stdout]      |                     `dict` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  360 |                 let Some((_, tag)) = dict.get_item(lookup_key)? else {
[INFO] [stdout]      |                              ---
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              `tag` calls a custom destructor
[INFO] [stdout]      |                              `tag` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  363 |                 self.find_call_validator(py, &tag.borrow_input().to_object(py)?, input, state)
[INFO] [stdout]      |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                               |
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  364 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/url.rs:170:15
[INFO] [stdout]      |
[INFO] [stdout]  155 |           let mut either_url = self.get_url(py, input, state.strict_or(self.strict))?;
[INFO] [stdout]      |               --------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `either_url` calls a custom destructor
[INFO] [stdout]      |               `either_url` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  170 |           match check_sub_defaults(
[INFO] [stdout]      |  _______________^
[INFO] [stdout]  171 | |             &mut either_url,
[INFO] [stdout]  172 | |             self.host_required,
[INFO] [stdout]  173 | |             self.default_host.as_ref(),
[INFO] [stdout]  174 | |             self.default_port,
[INFO] [stdout]  175 | |             self.default_path.as_ref(),
[INFO] [stdout]  176 | |         ) {
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  184 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `either_url` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `either_url` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/url.rs:420:15
[INFO] [stdout]      |
[INFO] [stdout]  406 |           let mut multi_url = self.get_url(py, input, state.strict_or(self.strict))?;
[INFO] [stdout]      |               -------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `multi_url` calls a custom destructor
[INFO] [stdout]      |               `multi_url` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  420 |           match check_sub_defaults(
[INFO] [stdout]      |  _______________^
[INFO] [stdout]  421 | |             &mut multi_url,
[INFO] [stdout]  422 | |             self.host_required,
[INFO] [stdout]  423 | |             self.default_host.as_ref(),
[INFO] [stdout]  424 | |             self.default_port,
[INFO] [stdout]  425 | |             self.default_path.as_ref(),
[INFO] [stdout]  426 | |         ) {
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  434 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `multi_url` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `multi_url` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/mod.rs:303:15
[INFO] [stdout]      |
[INFO] [stdout]  297 |           let string_mapping = StringMapping::new_value(input).map_err(|e| self.prepare_validation_err(py, e, t))?;
[INFO] [stdout]      |               --------------
[INFO] [stdout]      |               |
[INFO] [stdout]      |               `string_mapping` calls a custom destructor
[INFO] [stdout]      |               `string_mapping` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  303 |           match self._validate(
[INFO] [stdout]      |  _______________^
[INFO] [stdout]  304 | |             py,
[INFO] [stdout]  305 | |             &string_mapping,
[INFO] [stdout]  306 | |             t,
[INFO] [stdout] ...    |
[INFO] [stdout]  314 | |             by_name,
[INFO] [stdout]  315 | |         ) {
[INFO] [stdout]      | |         ^
[INFO] [stdout]      | |         |
[INFO] [stdout]      | |_________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  319 |       }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `string_mapping` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `string_mapping` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `impl Iterator<Item = (usize, bool, I)>` will capture more lifetimes than possibly intended in edition 2024
[INFO] [stdout]   --> src/validators/validation_state.rs:90:79
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn enumerate_last_partial<I>(&self, iter: impl Iterator<Item = I>) -> impl Iterator<Item = (usize, bool, I)> {
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds
[INFO] [stdout]   --> src/validators/validation_state.rs:42:6
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<'a, 'py> ValidationState<'a, 'py> {
[INFO] [stdout]    |      ^^  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn enumerate_last_partial<I>(&self, iter: impl Iterator<Item = I>) -> impl Iterator<Item = (usize, bool, I)> {
[INFO] [stdout]    |                                      ^
[INFO] [stdout]    = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024
[INFO] [stdout] note: you could use a `use<...>` bound to explicitly specify captures, but argument-position `impl Trait`s are not nameable
[INFO] [stdout]   --> src/validators/validation_state.rs:90:51
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn enumerate_last_partial<I>(&self, iter: impl Iterator<Item = I>) -> impl Iterator<Item = (usize, bool, I)> {
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/rpit-lifetime-capture.html>
[INFO] [stdout]    = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit
[INFO] [stdout]    |
[INFO] [stdout] 90 -     pub fn enumerate_last_partial<I>(&self, iter: impl Iterator<Item = I>) -> impl Iterator<Item = (usize, bool, I)> {
[INFO] [stdout] 90 +     pub fn enumerate_last_partial<I, T: Iterator<Item = I>>(&self, iter: T) -> impl Iterator<Item = (usize, bool, I)> + use<I, T> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/errors/validation_exception.rs:77:23
[INFO] [stdout]      |
[INFO] [stdout]   62 |                 let line_errors = match outer_location {
[INFO] [stdout]      |                     -----------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     `line_errors` calls a custom destructor
[INFO] [stdout]      |                     `line_errors` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   77 |                 match Bound::new(py, validation_error) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   89 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `line_errors` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `line_errors` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/errors/validation_exception.rs:550:32
[INFO] [stdout]      |
[INFO] [stdout]  546 |             let input_str = safe_repr(input_value);
[INFO] [stdout]      |                 ---------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `input_str` calls a custom destructor
[INFO] [stdout]      |                 `input_str` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  550 |             if let Ok(type_) = input_value.get_type().qualname() {
[INFO] [stdout]      |                                ----------------------^^^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  553 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `input_str` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/input/input_python.rs:724:15
[INFO] [stdout]      |
[INFO] [stdout]  712 |     let Some(module_name) = obj
[INFO] [stdout]      |              -----------
[INFO] [stdout]      |              |
[INFO] [stdout]      |              `module_name` calls a custom destructor
[INFO] [stdout]      |              `module_name` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  724 |     !matches!(module_name.to_str(), Ok("builtins" | "datetime" | "collections"))
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  725 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `module_name` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/input/return_enums.rs:140:15
[INFO] [stdout]      |
[INFO] [stdout]  139 |         let item = item_result.map_err(|e| any_next_error!(py, e, max_length_check.input, index))?;
[INFO] [stdout]      |             ----
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `item` calls a custom destructor
[INFO] [stdout]      |             `item` will be dropped later as of Edition 2024
[INFO] [stdout]  140 |         match validator.validate(py, item.borrow_input(), state) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  157 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lookup_key.rs:259:39
[INFO] [stdout]      |
[INFO] [stdout]  253 |                     let Some(mut value) = lookup(source, &path.first_item)? else {
[INFO] [stdout]      |                                           ---------------------------------
[INFO] [stdout]      |                                           |
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                           `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  259 |                         value = match nested_lookup(value, loc) {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                       up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  265 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lookup_key.rs:447:15
[INFO] [stdout]      |
[INFO] [stdout]  436 |         let obj = match obj.downcast_into::<PyString>() {
[INFO] [stdout]      |             ---
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `obj` calls a custom destructor
[INFO] [stdout]      |             `obj` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  447 |         match obj.extract::<usize>() { Ok(usize_key) => {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  454 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `obj` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/fields.rs:196:57
[INFO] [stdout]      |
[INFO] [stdout]  184 |             let (key, value) = result?;
[INFO] [stdout]      |                  ---  -----
[INFO] [stdout]      |                  |    |
[INFO] [stdout]      |                  |    `value` calls a custom destructor
[INFO] [stdout]      |                  |    `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  `key` calls a custom destructor
[INFO] [stdout]      |                  `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  195 |             let state = &mut state.scoped_set(|s| &mut s.field_name, Some(field_name));
[INFO] [stdout]      |                              ---------------------------------------------------------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  196 |             if let Some((next_include, next_exclude)) = self.filter.key_filter(&key, state)? {
[INFO] [stdout]      |                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                         |
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                         up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                                         up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/fields.rs:410:61
[INFO] [stdout]      |
[INFO] [stdout]  403 |             for (key, value) in extra_dict {
[INFO] [stdout]      |                  ---  -----     ----------
[INFO] [stdout]      |                  |    |         |
[INFO] [stdout]      |                  |    |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                  |    |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  |    `value` calls a custom destructor
[INFO] [stdout]      |                  |    `value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                  `key` calls a custom destructor
[INFO] [stdout]      |                  `key` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  410 |                 if let Some((next_include, next_exclude)) = self.filter.key_filter(&key, state)? {
[INFO] [stdout]      |                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                             |
[INFO] [stdout]      |                                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                                             up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                                             up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  411 |                     let state = &mut state.scoped_include_exclude(next_include, next_exclude);
[INFO] [stdout]      |                                      --------------------------------------------------------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  412 |                     let value = match &self.extra_serializer {
[INFO] [stdout]  413 |                         Some(serializer) => serializer.to_python(&value, state)?,
[INFO] [stdout]      |                                             ------------------------------------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                             `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  414 |                         _ => infer_to_python(&value, state)?,
[INFO] [stdout]      |                              -------------------------------
[INFO] [stdout]      |                              |
[INFO] [stdout]      |                              this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                              `#4` will be dropped later as of Edition 2024
[INFO] [stdout]  415 |                     };
[INFO] [stdout]  416 |                     output_dict.set_item(key, value)?;
[INFO] [stdout]      |                     ---------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  417 |                 }
[INFO] [stdout]  418 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/filter.rs:372:19
[INFO] [stdout]      |
[INFO] [stdout]  371 |         for (all_key, all_value) in all_dict.iter() {
[INFO] [stdout]      |              -------  ---------     ---------------
[INFO] [stdout]      |              |        |             |
[INFO] [stdout]      |              |        |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |              |        |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |              |        `all_value` calls a custom destructor
[INFO] [stdout]      |              |        `all_value` will be dropped later as of Edition 2024
[INFO] [stdout]      |              `all_key` calls a custom destructor
[INFO] [stdout]      |              `all_key` will be dropped later as of Edition 2024
[INFO] [stdout]  372 |             match item_dict.get_item(&all_key)? { Some(item_value) => {
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        ----------
[INFO] [stdout]      |                   |                                    |
[INFO] [stdout]      |                   |                                    `item_value` calls a custom destructor
[INFO] [stdout]      |                   |                                    `item_value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                   up until Edition 2021 `#7` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                   up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  376 |                 let item_value_dict = as_dict(&item_value)?;
[INFO] [stdout]      |                     ---------------   ---------------------
[INFO] [stdout]      |                     |                 |
[INFO] [stdout]      |                     |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                     |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     `item_value_dict` calls a custom destructor
[INFO] [stdout]      |                     `item_value_dict` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  379 |                     item_dict.set_item(all_key, merge_dicts(&item_value_dict, &all_value)?)?;
[INFO] [stdout]      |                     ------------------------------------------------------------------------
[INFO] [stdout]      |                     |                  |        |
[INFO] [stdout]      |                     |                  |        this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                     |                  |        `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     |                  this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                     |                  `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  382 |                 item_dict.set_item(all_key, all_value)?;
[INFO] [stdout]      |                 ---------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  383 |             }}
[INFO] [stdout]  384 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `all_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `all_value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `item_value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `item_value_dict` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/format.rs:33:15
[INFO] [stdout]      |
[INFO] [stdout]   32 |         let when_used = schema.get_as::<Bound<'_, PyString>>(intern!(schema.py(), "when_used"))?;
[INFO] [stdout]      |             ---------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `when_used` calls a custom destructor
[INFO] [stdout]      |             `when_used` will be dropped later as of Edition 2024
[INFO] [stdout]   33 |         match when_used.as_ref().map(|s| s.to_str()) {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |               |
[INFO] [stdout]      |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   41 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `when_used` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/function.rs:240:23
[INFO] [stdout]      |
[INFO] [stdout]  239 |                 let state = &mut state.scoped_include_exclude(None, None);
[INFO] [stdout]      |                                  ----------------------------------------
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  240 |                 match self.call(key, state) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  254 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  293 | function_type_serializer!(FunctionPlainSerializer);
[INFO] [stdout]      | -------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `function_type_serializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/function.rs:240:23
[INFO] [stdout]      |
[INFO] [stdout]  239 |                 let state = &mut state.scoped_include_exclude(None, None);
[INFO] [stdout]      |                                  ----------------------------------------
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                  `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  240 |                 match self.call(key, state) {
[INFO] [stdout]      |                       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  254 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  431 | function_type_serializer!(FunctionWrapSerializer);
[INFO] [stdout]      | ------------------------------------------------- in this macro invocation
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: this warning originates in the macro `function_type_serializer` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/tuple.rs:233:37
[INFO] [stdout]      |
[INFO] [stdout]  232 |                       let state = &mut state.scoped_include_exclude(next_include, next_exclude);
[INFO] [stdout]      |                                        --------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  233 |                       if let Err(e) = f(TupleSerializerEntry {
[INFO] [stdout]      |  _____________________________________^
[INFO] [stdout]  234 | |                         item: element,
[INFO] [stdout]  235 | |                         serializer: &CombinedSerializer::Any(AnySerializer),
[INFO] [stdout]      | |                                      --------------------------------------
[INFO] [stdout]      | |                                      |
[INFO] [stdout]      | |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      | |                                      up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  236 | |                         state,
[INFO] [stdout]  237 | |                     }) {
[INFO] [stdout]      | |                      ^
[INFO] [stdout]      | |                      |
[INFO] [stdout]      | |______________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  240 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/serializers/type_serializers/union.rs:329:44
[INFO] [stdout]      |
[INFO] [stdout]  328 |                             let state = &mut state.scoped_set(|s| &mut s.check, SerCheck::Lax);
[INFO] [stdout]      |                                              -------------------------------------------------
[INFO] [stdout]      |                                              |
[INFO] [stdout]      |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  329 |                             if let Ok(v) = selector(selected_serializer, state) {
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                            |
[INFO] [stdout]      |                                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                            up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  332 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> src/serializers/extra.rs:551:1
[INFO] [stdout]      |
[INFO] [stdout]  551 | / impl<'a, 'py, P, T> Drop for ScopedSetState<'_, 'a, 'py, P, T>
[INFO] [stdout]  552 | | where
[INFO] [stdout]  553 | |     P: for<'drop> Fn(&'drop mut SerializationState<'a, 'py>) -> &'drop mut T,
[INFO] [stdout]      | |_____________________________________________________________________________^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:163:39
[INFO] [stdout]      |
[INFO] [stdout]   75 |         let arguments_schema: Bound<'_, PyList> = schema.get_as_req(intern!(py, "arguments_schema"))?;
[INFO] [stdout]      |             ----------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `arguments_schema` calls a custom destructor
[INFO] [stdout]      |             `arguments_schema` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  144 |         let py_var_kwargs_mode: Bound<PyString> = schema
[INFO] [stdout]      |             ------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `py_var_kwargs_mode` calls a custom destructor
[INFO] [stdout]      |             `py_var_kwargs_mode` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  149 |         let var_kwargs_validator = match schema.get_item(intern!(py, "var_kwargs_schema"))? {
[INFO] [stdout]      |             --------------------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `var_kwargs_validator` calls a custom destructor
[INFO] [stdout]      |             `var_kwargs_validator` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  163 |             var_args_validator: match schema.get_item(intern!(py, "var_args_schema"))? {
[INFO] [stdout]      |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                       |
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  175 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `arguments_schema` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `py_var_kwargs_mode` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/once_lock.rs:699:0
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/alloc/src/sync.rs:3472:0
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `var_kwargs_validator` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `var_kwargs_validator` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:226:57
[INFO] [stdout]      |
[INFO] [stdout]  208 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  214 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  218 | /                     parameter
[INFO] [stdout]  219 | |                         .lookup_key_collection
[INFO] [stdout]  220 | |                         .select(validate_by_alias, validate_by_name)?,
[INFO] [stdout]      | |                                                                     -
[INFO] [stdout]      | |                                                                     |
[INFO] [stdout]      | |_____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  226 |                       if let Some((lookup_path, value)) = kwargs.get_item(lookup_key)? {
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                                           up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  230 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]      |                        -----------------------------------------------------------------------------------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  237 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  244 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  251 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  252 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]  253 |                           Ok(value) => output_kwargs.set_item(parameter.kwarg_key.as_ref().unwrap(), value)?,
[INFO] [stdout]      |                                        ---------------------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  270 |                               output_kwargs.set_item(kwarg_key, value)?;
[INFO] [stdout]      |                               -----------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:252:27
[INFO] [stdout]      |
[INFO] [stdout]  208 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  214 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  218 | /                     parameter
[INFO] [stdout]  219 | |                         .lookup_key_collection
[INFO] [stdout]  220 | |                         .select(validate_by_alias, validate_by_name)?,
[INFO] [stdout]      | |                                                                     -
[INFO] [stdout]      | |                                                                     |
[INFO] [stdout]      | |_____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]      |                        -----------------------------------------------------------------------------------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  237 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  244 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  251 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  252 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                             up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  253 |                           Ok(value) => output_kwargs.set_item(parameter.kwarg_key.as_ref().unwrap(), value)?,
[INFO] [stdout]      |                                        ---------------------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  263 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  270 |                               output_kwargs.set_item(kwarg_key, value)?;
[INFO] [stdout]      |                               -----------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                               `#8` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:265:27
[INFO] [stdout]      |
[INFO] [stdout]  208 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  214 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  218 | /                     parameter
[INFO] [stdout]  219 | |                         .lookup_key_collection
[INFO] [stdout]  220 | |                         .select(validate_by_alias, validate_by_name)?,
[INFO] [stdout]      | |                                                                     -
[INFO] [stdout]      | |                                                                     |
[INFO] [stdout]      | |_____________________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                                       `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  234 |                   &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]      |                        -----------------------------------------------------------------------------------------------
[INFO] [stdout]      |                        |
[INFO] [stdout]      |                        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                        `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  237 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  244 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                         |                          `#5` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  251 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout]  252 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]  253 |                           Ok(value) => output_kwargs.set_item(parameter.kwarg_key.as_ref().unwrap(), value)?,
[INFO] [stdout]      |                                        ---------------------------------------------------------------------
[INFO] [stdout]      |                                        |
[INFO] [stdout]      |                                        this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                        `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  265 |                       match parameter
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]  266 | |                         .validator
[INFO] [stdout]  267 | |                         .default_value(py, Some(parameter.name.as_str()), state)?
[INFO] [stdout]      | |                                                                                 ^
[INFO] [stdout]      | |_________________________________________________________________________________|
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |_________________________________________________________________________________up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                                                                                   up until Edition 2021 `#10` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  270 | |                             output_kwargs.set_item(kwarg_key, value)?;
[INFO] [stdout]      | |                             -----------------------------------------
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                             `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  288 | |                 }
[INFO] [stdout]      | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/validators/validation_state.rs:165:1
[INFO] [stdout]      |
[INFO] [stdout]  165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#5` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/validators/arguments.rs:236:19
[INFO] [stdout]     |
[INFO] [stdout] 234 |                 &mut state.rebind_extra(|extra| extra.field_name = Some(PyString::new(py, parameter.name.as_str())));
[INFO] [stdout]     |                      -----------------------------------------------------------------------------------------------
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                      `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 235 |
[INFO] [stdout] 236 |             match (pos_value, kw_value) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 290 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> src/validators/validation_state.rs:165:1
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Drop for ValidationStateWithReboundExtra<'_, '_, '_> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments.rs:297:31
[INFO] [stdout]      |
[INFO] [stdout]  296 |                     for (index, item) in args.iter().enumerate().skip(self.positional_params_count) {
[INFO] [stdout]      |                                 ----     ----------------------------------------------------------
[INFO] [stdout]      |                                 |        |
[INFO] [stdout]      |                                 |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                 |        `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                                 `item` calls a custom destructor
[INFO] [stdout]      |                                 `item` will be dropped later as of Edition 2024
[INFO] [stdout]  297 |                         match validator.validate(py, item.borrow_input(), state) {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  304 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:270:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  270 |                           match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                                 up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  281 |                       }
[INFO] [stdout]      |                       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:316:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  316 | |                         match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                               |
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                               up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  317 | |                             Ok(value) => {
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  329 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:350:39
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  350 | |                                 match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      | |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                                       up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  363 | |                             }
[INFO] [stdout]      | |                             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:371:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  371 | |                         match parameter.validator.validate(py, dict_value.borrow_input(), state) {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                               |
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                               up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  384 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:391:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  391 |                           match parameter
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]  392 | |                                 .validator
[INFO] [stdout]  393 | |                                 .default_value(py, Some(parameter.name.as_str()), state)?
[INFO] [stdout]      | |                                                                                         ^
[INFO] [stdout]      | |_________________________________________________________________________________________|
[INFO] [stdout]      | |_________________________________________________________________________________________this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |_________________________________________________________________________________________up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________________________________________________________________________________________this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                                                                                           up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  418 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:421:31
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                                                                        ----------
[INFO] [stdout]      |                                                                        |
[INFO] [stdout]      |                                                                        `dict_value` calls a custom destructor
[INFO] [stdout]      |                                                                        `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  421 | |                         match parameter.validator.validate(py, PyDict::new(py).borrow_input(), state) {
[INFO] [stdout]      | |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      | |                               |                                |
[INFO] [stdout]      | |                               |                                this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      | |                               |                                up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |                               this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      | |                               up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  434 | |                     }
[INFO] [stdout]      | |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#16` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:261:19
[INFO] [stdout]      |
[INFO] [stdout]  256 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  257 | |                 .lookup_key_collection
[INFO] [stdout]  258 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  261 |               match mapping.get_item(lookup_key)? { Some((lookup_path, dict_value)) => {
[INFO] [stdout]      |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                      ----------
[INFO] [stdout]      |                     |                                                  |
[INFO] [stdout]      |                     |                                                  `dict_value` calls a custom destructor
[INFO] [stdout]      |                     |                                                  `dict_value` will be dropped later as of Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]      |                     up until Edition 2021 `#16` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]      |                     up until Edition 2021 `#17` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  282 |                       ParameterMode::VarArgs => match dict_value.borrow_input().validate_tuple(false) {
[INFO] [stdout]      |                                                       -----------------------------------------------
[INFO] [stdout]      |                                                       |
[INFO] [stdout]      |                                                       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                                       `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  285 | /                             tuple.unpack(state).try_for_each(|v| {
[INFO] [stdout]  286 | |                                 match parameter.validator.validate(py, v.unwrap().borrow_input(), state) {
[INFO] [stdout]  287 | |                                     Ok(tuple_value) => {
[INFO] [stdout]  288 | |                                         output_args.push(tuple_value);
[INFO] [stdout] ...    |
[INFO] [stdout]  308 | |                             })?;
[INFO] [stdout]      | |                               -
[INFO] [stdout]      | |_______________________________|
[INFO] [stdout]      | |_______________________________this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  318 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      | |                                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  330 | |                     ParameterMode::VarKwargsUniform => match dict_value.borrow_input().as_kwargs(py) {
[INFO] [stdout]      | |                                                              ---------------------------------------
[INFO] [stdout]      | |                                                              |
[INFO] [stdout]      | |                                                              this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      | |                                                              `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  333 | |                             for (dict_key, dict_value) in value {
[INFO] [stdout]      | |                                  --------  ----------     -----
[INFO] [stdout]      | |                                  |         |              |
[INFO] [stdout]      | |                                  |         |              `iter` calls a custom destructor
[INFO] [stdout]      | |                                  |         |              `iter` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         |              this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      | |                                  |         |              `#6` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  |         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                                  |         `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                  `dict_key` calls a custom destructor
[INFO] [stdout]      | |                                  `dict_key` will be dropped later as of Edition 2024
[INFO] [stdout]  334 | |                                 // Validate keys are strings:
[INFO] [stdout]  335 | |                                 match dict_key.validate_str(true, false).map(ValidationMatch::into_inner) {
[INFO] [stdout]      | |                                       -------------------------------------------------------------------
[INFO] [stdout]      | |                                       |
[INFO] [stdout]      | |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  338 | |                                         for err in line_errors {
[INFO] [stdout]      | |                                                    -----------
[INFO] [stdout]      | |                                                    |
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      | |                                                    `#9` will be dropped later as of Edition 2024
[INFO] [stdout]      | |                                                    this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      | |                                                    `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  351 | |                                     Ok(value) => output_kwargs.set_item(dict_key, value)?,
[INFO] [stdout]      | |                                                  ----------------------------------------
[INFO] [stdout]      | |                                                  |
[INFO] [stdout]      | |                                                  this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      | |                                                  `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  372 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                `value` calls a custom destructor
[INFO] [stdout]      | |                                `value` will be dropped later as of Edition 2024
[INFO] [stdout]  373 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      | |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  401 | |                                 output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                                 -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      | |                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  422 | |                             Ok(value) => {
[INFO] [stdout]      | |                                -----
[INFO] [stdout]      | |                                |
[INFO] [stdout]      | |                                this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      | |                                `#14` will be dropped later as of Edition 2024
[INFO] [stdout]  423 | |                                 output_kwargs.update(value.downcast_bound::<PyDict>(py).unwrap().as_mapping())?;
[INFO] [stdout]      | |                                 -------------------------------------------------------------------------------
[INFO] [stdout]      | |                                 |
[INFO] [stdout]      | |                                 this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]      | |                                 `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  439 | |         }
[INFO] [stdout]      | |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#17` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#3` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `dict_key` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:776:1
[INFO] [stdout]      |
[INFO] [stdout]  776 | impl<T> Drop for Bound<'_, T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#11` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `value` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#12` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#13` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:553:57
[INFO] [stdout]      |
[INFO] [stdout]  533 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  534 | |                 .lookup_key_collection
[INFO] [stdout]  535 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  536 |
[INFO] [stdout]  537 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  547 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  553 |                       if let Some((lookup_path, value)) = kwargs.get_item(lookup_key)? {
[INFO] [stdout]      |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                                           |
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                                                           up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                                                           this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                           up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  557 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  561 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  568 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  575 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  578 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  598 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:576:27
[INFO] [stdout]      |
[INFO] [stdout]  533 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  534 | |                 .lookup_key_collection
[INFO] [stdout]  535 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  536 |
[INFO] [stdout]  537 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  547 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  561 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  568 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  575 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout]  576 |                       match parameter.validator.validate(py, kw_value.borrow_input(), state) {
[INFO] [stdout]      |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                             up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  577 |                           Ok(value) => {
[INFO] [stdout]  578 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  589 |                   }
[INFO] [stdout]      |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout]  598 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                               `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#8` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#4` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#6` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#7` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/test.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/validators/arguments_v3.rs:591:27
[INFO] [stdout]      |
[INFO] [stdout]  533 |               let lookup_key = parameter
[INFO] [stdout]      |  ______________________________-
[INFO] [stdout]  534 | |                 .lookup_key_collection
[INFO] [stdout]  535 | |                 .select(validate_by_alias, validate_by_name)?;
[INFO] [stdout]      | |                                                             -
[INFO] [stdout]      | |                                                             |
[INFO] [stdout]      | |_____________________________________________________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                                                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout]  536 |
[INFO] [stdout]  537 |               let mut pos_value = None;
[INFO] [stdout]      |                   -------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `pos_value` calls a custom destructor
[INFO] [stdout]      |                   `pos_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  547 |               let mut kw_value = None;
[INFO] [stdout]      |                   ------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   `kw_value` calls a custom destructor
[INFO] [stdout]      |                   `kw_value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  561 |                   (Some(_), Some((_, kw_value))) => {
[INFO] [stdout]      |                                      --------
[INFO] [stdout]      |                                      |
[INFO] [stdout]      |                                      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                      `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  568 |                   (Some(pos_value), None) => match parameter.validator.validate(py, pos_value.borrow_input(), state) {
[INFO] [stdout]      |                         ---------                  -----------------------------------------------------------------
[INFO] [stdout]      |                         |                          |
[INFO] [stdout]      |                         |                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                         |                          `#4` will be dropped later as of Edition 2024
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                         `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  575 |                   (None, Some((lookup_path, kw_value))) => {
[INFO] [stdout]      |                                             --------
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                                             `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  578 |                               output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      |                               -----------------------------------------------------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  591 |                       match parameter
[INFO] [stdout]      |  ___________________________^
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]      | |___________________________|
[INFO] [stdout]  592 | |                         .validator
[INFO] [stdout]  593 | |                         .default_value(py, Some(parameter.name.as_str()), state)?
[INFO] [stdout]      | |                                                                                 ^
[INFO] [stdout]      | |_________________________________________________________________________________|
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      | |_________________________________________________________________________________up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      | |_________________________________________________________________________________this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                                                                   up until Edition 2021 `#9` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  598 | |                             output_kwargs.set_item(PyString::new(py, parameter.name.as_str()).unbind(), value)?;
[INFO] [stdout]      | |                             -----------------------------------------------------------------------------------
[INFO] [stdout]      | |                             |
[INFO] [stdout]      | |                             this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      | |                             `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...    |
[INFO] [stdout]  629 | |                 }
[INFO] [stdout]      | |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#9` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/pyo3-0.26.0/src/instance.rs:2018:1
[INFO] [stdout]      |
[INFO] [stdout] 2018 | impl<T> Drop for Py<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#4` invokes this custom destructor
[WARN] too many lines in the log, truncating it
